<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Directive (programming)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Directive_(programming)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Directive_programming rootpage-Directive_programming skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Directive (programming)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p>In <a href="Computer_programming" title="Computer programming">computer programming</a>, a <b>directive</b> or <b>pragma</b> (from "pragmatic") is a <a href="Language_construct" title="Language construct">language construct</a> that specifies how a <a href="Compiler" title="Compiler">compiler</a> (or other <a href="Translator_(computing)" title="Translator (computing)">translator</a>) should process its input. Depending on the <a href="Programming_language" title="Programming language">programming language</a>, directives may or may not be part of the <a href="Formal_grammar" title="Formal grammar">grammar</a> of the language and may vary from compiler to compiler. They can be processed by a <a href="Preprocessor" title="Preprocessor">preprocessor</a> to specify compiler behavior, or function as a form of in-band parameterization.
</p><p>In some cases directives specify global behavior, while in other cases they only affect a local section, such as a block of programming code. In some cases, such as some C programs, directives are optional compiler hints and may be ignored, but normally they are prescriptive and must be followed. However, a directive does not perform any action in the language itself, but rather only a change in the behavior of the compiler.
</p><p>This term could be used to refer to proprietary third-party tags and commands (or markup) embedded in code that result in additional executable processing that extend the existing compiler, assembler and language constructs present in the development environment. The term "directive" is also applied in a variety of ways that are similar to the term <i>command</i>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="The_C_preprocessor">The C preprocessor</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="C_preprocessor" title="C preprocessor">C preprocessor</a></div>
<p>In <a href="C_(programming_language)" title="C (programming language)">C</a> and <a href="C%2B%2B" title="C++">C++</a>, the language supports a simple <a href="Macro_(computer_science)" title="Macro (computer science)">macro</a> <a href="Preprocessor" title="Preprocessor">preprocessor</a>. Source lines that should be handled by the preprocessor, such as <code>#define</code> and <code>#include</code> are referred to as <i>preprocessor directives</i>.
</p><p>Syntactic constructs similar to C's preprocessor directives, such as <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>'s <code>#if</code>, are also typically called "directives", although in these cases there may not be any real preprocessing phase involved.
</p><p>All preprocessor commands, except for <code>defined</code> (when following a conditional directive), begin with a hash symbol (#). Until <a href="C%2B%2B26" title="C++26">C++26</a>, the keywords <code>export</code>, <code>import</code> and <code>module</code> were partially handled by the preprocessor.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Directives date to <a href="JOVIAL" title="JOVIAL">JOVIAL</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p><a href="COBOL" title="COBOL">COBOL</a> has a COPY directive.
</p><p>In <a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a>, directives are known as <a href="ALGOL_68#pr_.26_co:_Pragmats_and_Comments" title="ALGOL 68">pragmats</a> (from "pragmatic"), and denoted <b>pragmat</b> or <b>pr</b>; in newer languages, notably C, this has been abbreviated to "pragma" (no 't').
</p><p>A common use of pragmats in ALGOL 68 is in specifying a <a href="Stropping_(syntax)" title="Stropping (syntax)">stropping</a> regime, meaning "how keywords are indicated". Various such directives follow, specifying the POINT, UPPER, RES (reserved), or quote regimes. Note the use of stropping for the <b>pragmat</b> keyword itself (abbreviated <b>pr</b>), either in the POINT or quote regimes:
</p>
<div class="mw-highlight mw-highlight-lang-man mw-content-ltr" dir="ltr"><pre>.<span class="k">PR</span> <span class="s">POINT</span> <span class="s">.PR</span>
.<span class="k">PR</span> <span class="s">UPPER</span> <span class="s">.PR</span>
.<span class="k">PR</span> <span class="s">RES</span> <span class="s">.PR</span>
'pr' quote 'pr'
</pre></div>
<p>Today directives are best known in the C language, of early 1970s vintage, and continued through the current <a href="C99" title="C99">C99</a> standard, where they are either instructions to the <a href="C_preprocessor" title="C preprocessor">C preprocessor</a>, or, in the form of <code>#pragma</code>, directives to the compiler itself. They are also used to some degree in more modern languages; see below.
</p>
<div class="mw-heading mw-heading2"><h2 id="Other_languages">Other languages</h2></div>
<ul><li>In <a href="Ada_(programming_language)" title="Ada (programming language)">Ada</a>, compiler directives are called <b>pragmas</b> (short for "pragmatic information").</li>
<li>In <a href="Common_Lisp" title="Common Lisp">Common Lisp</a>, directives are called <b>declarations</b>, and are specified using the <code>declare</code> construct (also <code>proclaim</code> or <code>declaim</code>).<sup id="cite_ref-FOOTNOTESteele1990[httpswwwcscmueduGroupsAIhtmlcltlclmnode103html_Chapter_9:_Declarations],_p._215–237_3-0" class="reference"><a href="#cite_note-FOOTNOTESteele1990[httpswwwcscmueduGroupsAIhtmlcltlclmnode103html_Chapter_9:_Declarations],_p._215–237-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> With one exception, declarations are optional, and do not affect the semantics of the program. The one exception is <code>special</code>, which must be specified where appropriate.</li>
<li>In <a href="Turbo_Pascal" title="Turbo Pascal">Turbo Pascal</a>, directives are called <b>significant comments</b>, because in the language <a href="Grammar" title="Grammar">grammar</a> they follow the same syntax as <a href="Comment_(computer_programming)" title="Comment (computer programming)">comments</a>. In Turbo Pascal, a significant comment is a comment whose first character is a <a href="Dollar_sign" title="Dollar sign">dollar sign</a> and whose second character is a letter; for example, the equivalent of C's <code>#include "file"</code> directive is the significant comment <code>{$I "file"}</code>.</li>
<li>In <a href="Perl" title="Perl">Perl</a>, the <a href="Keyword_(computer_programming)" class="mw-redirect" title="Keyword (computer programming)">keyword</a> "<code><a rel="nofollow" class="external text" href="http://perldoc.perl.org/functions/use.html">use</a></code>", which imports modules, can also be used to specify directives, such as <code>use strict;</code> or <code>use utf8;</code>.</li>
<li><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a> pragmas are specified using a specialized comment syntax, e.g. <code>{-# INLINE foo #-}</code>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> It is also possible to use the C preprocessor in Haskell, by writing <code class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><span class="cm">{-# LANGUAGE CPP #-}</span></code>.</li>
<li><a href="PHP" title="PHP">PHP</a> uses the directive <code>declare(strict_types=1)</code>.</li>
<li>In <a href="PL/I" title="PL/I">PL/I</a>, directives begin with a <a href="Percent_sign" title="Percent sign">Percent sign</a> (<code>%</code>) and end with a semicolon (<code>;</code>), e.g., <code>%INCLUDE <i>foo</i>;</code>, <code>%NOPRINT;</code>, <code>%PAGE;</code>, <code>%POP;</code>, <code>%SKIP;</code>, the same as with preprocessor statements.</li>
<li><a href="Python_(programming_language)" title="Python (programming language)">Python</a> has two directives – <code>from __future__ import feature</code> (defined in <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0236/">PEP 236 -- Back to the __future__</a>), which changes language features (and uses the existing module import syntax, as in Perl), and the <code>coding</code> directive (in a comment) to specify the encoding of a source code file (defined in <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0263/">PEP 263 -- Defining Python Source Code Encodings</a>). A more general directive statement was proposed and rejected in <a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0244/">PEP 244 -- The `directive' statement</a>; these all date to 2001.</li>
<li><a href="ECMAScript" title="ECMAScript">ECMAScript</a> also adopts the <code>use</code> syntax for directives, with the difference that pragmas are declared as string literals (e.g. <code>"use strict";</code>, or <code>"use asm";</code>), rather than a function call.</li>
<li>In <a href="Visual_Basic" title="Visual Basic">Visual Basic</a>, the keyword "<code>Option</code>" is used for directives:
<ul><li><code>Option Explicit On|Off</code> - When on disallows implicit declaration of variables at first use requiring explicit declaration beforehand.</li>
<li><code>Option Compare Binary</code> - Results in string comparisons based on a sort order derived from the internal binary representations of the characters - e.g. for the English/European code page (ANSI 1252) A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø. Affects intrinsic operators (e.g. =, <>, <, >), the Select Case block, and VB runtime library string functions (e.g. InStr).</li>
<li><code>Option Compare Text</code> - Results in string comparisons based on a case-insensitive text sort order determined by your system's locale - e.g. for the English/European code page (ANSI 1252) (A=a) < (À = à) < (B=b) < (E=e) < (Ê = ê) < (Z=z) < (Ø = ø). Affects intrinsic operators (e.g. =, <>, <, >), the Select Case block, and VB runtime library string functions (e.g. InStr).</li>
<li><code>Option Strict On|Off</code> - When on disallows:
<ul><li>typeless programming - where declarations which lack an explicit type are implicitly typed as Object.</li>
<li>late-binding (i.e. dynamic dispatch to CLR, DLR, and COM objects) on values statically typed as Object.</li>
<li>implicit narrowing conversions - requiring all conversions to narrower types (e.g. from Long to Integer, Object to String, Control to TextBox) be explicit in code using conversion operators (e.g. CInt, DirectCast, CType).</li></ul></li>
<li><code>Option Infer On|Off</code> - When on enables the compiler to infer the type of local variables from their initializers.</li></ul></li>
<li>In <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>, interpreter directives are referred to as <b>pragmas</b> and are specified by top-of-file comments that follow a <code>key: value</code> notation. For example, <code>coding: UTF-8</code> indicates that the file is encoded via the <a href="UTF-8" title="UTF-8">UTF-8</a> <a href="Character_encoding" title="Character encoding">character encoding</a>.</li>
<li>In <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, compiler directives are called pre-processing directives. C# does not technically handle these using a preprocessor, but rather directly in the code. There are a number of different compiler directives, which mostly align with those from C and C++, including <code>#pragma</code>, which is specifically used to control compiler warnings and debugger checksums.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> C# also features some directives not used in C or C++, including <code>#nullable</code> and <code>#region</code>. C# also does not allow function-like macros, but does allow regular macros, for purposes such as conditional compilation.</li>
<li>The <a href="SQLite" title="SQLite">SQLite</a> <a href="DBMS" class="mw-redirect" title="DBMS">DBMS</a> includes a PRAGMA directive that is used to introduce commands that are not compatible with other DBMS.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup></li>
<li>In <a href="Solidity" title="Solidity">Solidity</a>, compiler directives are called pragmas, and are specified using the `pragma` keyword.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Assembly_language">Assembly language</h3></div>
<ul><li>In <a href="Assembly_language" title="Assembly language">assembly language</a>, directives, also referred to as pseudo-operations or "pseudo-ops", generally specify such information as the target machine, mark separations between code sections, define and change assembly-time variables, define macros, designate conditional and repeated code, define reserved memory areas, and so on. Some, but not all, assemblers use a specific syntax to differentiate pseudo-ops from instruction mnemonics, such as prefacing the pseudo-op with a period, such as the pseudo-op <code>.END</code>, which might direct the assembler to stop assembling code.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="PL/SQL">PL/SQL</h3></div>
<ul><li><a href="Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a>'s <a href="PL/SQL" title="PL/SQL">PL/SQL</a> procedural language includes a set of compiler directives, known as "pragmas".<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Pragma_once" title="Pragma once">#pragma once</a> – Preprocessor directive in C and C++</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Footnotes">Footnotes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1857r1.html">"P1857R1 - Modules Dependency Discovery"</a>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation techreport cs1"><a rel="nofollow" class="external text" href="https://apps.dtic.mil/sti/pdfs/ADA101061.pdf#page=248">"Chapter 17 - Directives"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://apps.dtic.mil/sti/pdfs/ADA101061.pdf"><i>Computer Programming Manual for JOVIAL (J73) Language</i></a> <span class="cs1-format">(PDF)</span> (Technical report). June 1981. pp. <span class="nowrap">243–</span>263. RADC-TR-81-143<span class="reference-accessdate">. Retrieved <span class="nowrap">May 28,</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-FOOTNOTESteele1990[httpswwwcscmueduGroupsAIhtmlcltlclmnode103html_Chapter_9:_Declarations],_p._215–237-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTESteele1990[httpswwwcscmueduGroupsAIhtmlcltlclmnode103html_Chapter_9:_Declarations],_p._215–237_3-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFSteele1990">Steele 1990</a>, <a rel="nofollow" class="external text" href="https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node103.html">Chapter 9: Declarations</a>, p. 215–237.</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.haskell.org/ghc/docs/7.8.3/html/users_guide/pragmas.html">"7.20. Pragmas"</a>. <i>GHC 7.8.3 Documentation</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 July</span> 2014</span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFdotnet-bot" class="citation web cs1">dotnet-bot. <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure">"Lexical structure - C# language specification"</a>. <i>docs.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-11-01</span></span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFBillWagner" class="citation web cs1">BillWagner. <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives/preprocessor-pragma">"#pragma - C# Reference"</a>. <i>docs.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-11-01</span></span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.sqlite.org/pragma.html">"Pragma statements supported by SQLite"</a>. <i>www.sqlite.org</i>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.soliditylang.org/en/latest/layout-of-source-files.html#pragmas">"Layout of a Solidity Source File — Solidity 0.8.27 documentation"</a>. <i>docs.soliditylang.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-06-03</span></span>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text">
<cite id="CITEREFFeuersteinPribyl2014" class="citation book cs1"><a href="Steven_Feuerstein" title="Steven Feuerstein">Feuerstein, Steven</a>; Pribyl, Bill (23 January 2014). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=vQaoAgAAQBAJ"><i>Oracle PL/SQL Programming</i></a> (6 ed.). O'Reilly Media, Inc. (published 2014). <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781449324414</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-06-16</span></span>. <q>PL/SQL has a PRAGMA keyword with the following syntax: PRAGMA <i>instruction_to_compiler</i>; [...] PL/SQL offers several pragmas [...]</q></cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239549316">
/* start https://en.wikipedia.org/ */
.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}
/* end https://en.wikipedia.org/ */
</style><div class="refbegin" style="">
<ul><li><cite id="CITEREFSteele1990" class="citation book cs1"><a href="Guy_L._Steele" class="mw-redirect" title="Guy L. Steele">Steele, Guy L.</a> (1990). <i><a href="Common_Lisp_the_Language" title="Common Lisp the Language">Common Lisp the Language</a></i>. Digital Press. pp. <span class="nowrap">215–</span>237. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>1-55558-041-6</bdi>.</cite></li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.openmp.org">OpenMP Website</a></li>
<li><a rel="nofollow" class="external text" href="http://www.openacc.org">OpenACC Website</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130616205308/http://openhmpp.org/">OpenHMPP Website</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-05-15" href="https://en.wikipedia.org/wiki/?title=Directive_(programming)&oldid=1290615492">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>